package com.jctrip.hotel.source.model.rezen.resp;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * @Author：Haruhi
 * @description:
 * @Date：2023/9/25 15:09
 * @Package：com.jctrip.hotel.source.model.rezen.resp
 * @Project：hotel-main
 */
@NoArgsConstructor
@Builder
@AllArgsConstructor
@Data
public class HotelDetailsResp implements Serializable {

    @JsonProperty("amenities")
    private List<AmenitiesBean> amenities;
    @JsonProperty("areaCode")
    private String areaCode;
    @JsonProperty("areaName")
    private String areaName;
    @JsonProperty("brandCode")
    private String brandCode;
    @JsonProperty("brandLogoURL")
    private String brandLogoURL;
    @JsonProperty("brandName")
    private String brandName;
    @JsonProperty("cityCode")
    private String cityCode;
    @JsonProperty("cityName")
    private String cityName;
    @JsonProperty("coverImage")
    private String coverImage;
    @JsonProperty("createTime")
    private String createTime;
    @JsonProperty("customFlagList")
    private List<String> customFlagList;
    @JsonProperty("decorationDate")
    private String decorationDate;
    @JsonProperty("groupId")
    private Integer groupId;
    @JsonProperty("hotelAddress")
    private String hotelAddress;
    @JsonProperty("hotelBusinessDistricts")
    private List<HotelBusinessDistrictsBean> hotelBusinessDistricts;
    @JsonProperty("hotelCode")
    private String hotelCode;
    @JsonProperty("hotelId")
    private Long hotelId;
    @JsonProperty("hotelImages")
    private List<String> hotelImages;
    @JsonProperty("hotelName")
    private String hotelName;
    @JsonProperty("introduction")
    private String introduction;
    @JsonProperty("latitude")
    private Integer latitude;
    @JsonProperty("longitude")
    private Integer longitude;
    @JsonProperty("mapType")
    private Integer mapType;
    @JsonProperty("mobilePhone")
    private String mobilePhone;
    @JsonProperty("openingDate")
    private String openingDate;
    @JsonProperty("postCode")
    private String postCode;
    @JsonProperty("provinceCode")
    private String provinceCode;
    @JsonProperty("provinceName")
    private String provinceName;
    @JsonProperty("requiredReads")
    private List<RequiredReadsBean> requiredReads;
    @JsonProperty("status")
    private Integer status;
    @JsonProperty("telephone")
    private String telephone;
    @JsonProperty("wifiName")
    private String wifiName;
    @JsonProperty("wifiPassword")
    private String wifiPassword;

    @NoArgsConstructor
    @Data
    public static class AmenitiesBean {
        @JsonProperty("amentiesCode")
        private String amentiesCode;
        @JsonProperty("amentiesId")
        private Integer amentiesId;
        @JsonProperty("amentiesName")
        private String amentiesName;
        @JsonProperty("hotelId")
        private Integer hotelId;
        @JsonProperty("updateTime")
        private String updateTime;
    }

    @NoArgsConstructor
    @Data
    public static class HotelBusinessDistrictsBean {
        @JsonProperty("businessDistrict")
        private String businessDistrict;
        @JsonProperty("hotelId")
        private Integer hotelId;
    }

    @NoArgsConstructor
    @Data
    public static class RequiredReadsBean {
        @JsonProperty("content")
        private String content;
        @JsonProperty("title")
        private String title;
    }
}
